home *** CD-ROM | disk | FTP | other *** search
/ Aminet 5 / Aminet 5 - March 1995.iso / Aminet / mus / play / PlaySID3.lha / PlaySID3.0 / Developer.doc < prev    next >
Text File  |  1994-08-12  |  3KB  |  120 lines

  1.  
  2.    PLAYSID.LIBRARY V1.0    (C)1994 Per Håkan Sundell & Ron Birk
  3.  
  4.    Release date: 1 June 1994
  5.  
  6. INFO
  7.  
  8.    Several people suggested the development of a library to help programs
  9.    having support for PlaySID modules, and that is exactly what this is.
  10.    It is a standard Amiga shared, runtime library and is called exactly
  11.    like all the other Amiga libraries. Using this library, it will be very
  12.    simple to make your program 'PlaySID compatible'.
  13.  
  14.  
  15. USING THE LIBRARY
  16.  
  17.    If you are a C programmer all you need to do is to include the correct
  18.    headers and open playsid.library. After that you can use the functions
  19.    in the library as if they were C functions. If your program quits it
  20.    must of course close the library again.
  21.  
  22.    Assembly programmers should also include the correct files and open
  23.    playsid.library. To call a function you must load A6 with the library
  24.    base, put the arguments in the appropriate registers and jump to the
  25.    library vector offset of the function you want to call.
  26.  
  27.    The library can only be used by one application at a time. If a second
  28.    program tries to open the library it will fail.
  29.  
  30.  
  31. LIBRARY API:
  32.  
  33.    LONG AllocEmulResource( void );
  34.     D0
  35.  
  36.    Allocates and initilizes memory resources.
  37.  
  38.  
  39.    void FreeEmulResource ( void );
  40.  
  41.    Frees memory resources.
  42.  
  43.  
  44.    LONG ReadIcon(char *filename, APTR header );
  45.     D0                   A0             A1
  46.  
  47.    Reads icon info of supplied name (without .info suffix) and stores it at "header".
  48.  
  49.  
  50.    LONG CheckModule( APTR header );
  51.     D0                      A0
  52.  
  53.    Checks if supplied header is a valid playsid header. One part files starts with
  54.    the header.
  55.  
  56.  
  57.    void SetModule( APTR header, APTR fileLocation, UWORD fileLength );
  58.                           A0              A1                D0:16
  59.  
  60.    Sets a new module. Next time a song is started this module is used. In one part
  61.    files the file location and header could be the same, becuase the function skips
  62.    the headers.
  63.  
  64.  
  65.    LONG StartSong( UWORD tune );
  66.     D0                   D0:16
  67.  
  68.    Starts to play the supplied tune number. The audio device, timers and interrupts
  69.    are allocated.
  70.  
  71.  
  72.    void StopSong( void );
  73.  
  74.    Stops the current song. The audio device, timers and interrupts are freed.
  75.  
  76.  
  77.    void PauseSong( void );
  78.  
  79.    Same as Stop except that the song could be continued afterwards.
  80.  
  81.  
  82.    LONG ContinueSong( void );
  83.     D0
  84.  
  85.    Same as start except it is used to continue a paused song.
  86.  
  87.  
  88.    void ForwardSong( UWORD speed );
  89.                            D0:16
  90.  
  91.    Used to fast forward a currently playing song. The play routine will be called
  92.    as many times as given in the speed parameter.
  93.  
  94.  
  95.    void RewindSong( UWORD speed );
  96.                           D0:16
  97.  
  98.    Used to rewind a currently playing song. The play routine will be called
  99.    as many times as given in the speed parameter. The reverse flag needs to be set!
  100.  
  101.  
  102.    void SetVertFreq( UWORD frequency );
  103.                              D0:16
  104.  
  105.    Sets the simulated TV system frequence. 50Hz for PAL or 60Hz for NTSC.
  106.  
  107.  
  108.    void SetChannelEnable( BOOL flags[4] );
  109.                                  A0
  110.  
  111.    Sets the status of the four channels. "flags" is a pointer to an array of
  112.    four boolean values (16 bits each).
  113.  
  114.  
  115.    void SetReverseEnable( BOOL flag );
  116.                                D0:16
  117.  
  118.    Sets the status of the reverse flag.
  119.  
  120.